home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / IDLIncludes / PCIPlugin.idl < prev    next >
Text File  |  1996-05-01  |  3KB  |  89 lines

  1. /*
  2.      File:        PCIPlugin.idl
  3.  
  4.      Contains:    This file contains all interface related structures and prototypes for pci expert to plugin
  5.  
  6.      Version:    Technology:    Copland
  7.                  Release:    Universal Interfaces 3.0d3 on Copland DR1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. */
  18. #ifndef __PCIPLUGIN_IDL__
  19. #define __PCIPLUGIN_IDL__
  20.  
  21. #include <somobj.idl>
  22. #include <somcls.idl>
  23.  
  24. #ifndef __PCICOMMONPLUGIN_IDL__
  25. #include <PCICommonPlugin.idl>
  26. #endif
  27.  
  28. #ifdef __SOMIDL__
  29.  
  30. #if FOR_SYSTEM8_PREEMPTIVE
  31. /* subordinate pci device tree 'reg' property structure definition*/
  32. typedef SOMLargeStruct            PCIRegProperty;                /* Derived from a struct of 20 bytes in size */
  33.  
  34. typedef OpaquePtr                PCIRegPropertyPtr;            /* Substituted OpaquePtr for ``PCIRegProperty*'' */
  35.  
  36. /* pci device tree 'bus-range' property structure definition*/
  37. typedef SOMLargeStruct            PCIBusRangeProperty;        /* Derived from a struct of 8 bytes in size */
  38.  
  39. typedef OpaquePtr                PCIBusRangePropertyPtr;        /* Substituted OpaquePtr for ``PCIBusRangeProperty*'' */
  40.  
  41. /* subordinate pci device description table entry header structure definition*/
  42. typedef LogicalAddress            ConfigAddress;
  43.  
  44. typedef LogicalAddress            IOAddress;
  45.  
  46. typedef SOMLargeStruct            PCIDeviceTableEntryHeader;    /* Derived from a struct of 80 bytes in size */
  47.  
  48. typedef OpaquePtr                PCIDeviceTableEntryHeaderPtr; /* Substituted OpaquePtr for ``PCIDeviceTableEntryHeader*'' */
  49.  
  50. /* subordinate pci device description table entry structure definition*/
  51. typedef SOMLargeStruct            PCIDeviceTableEntry;        /* Derived from a struct of 152 bytes in size */
  52.  
  53. typedef OpaquePtr                PCIDeviceTableEntryPtr;        /* Substituted OpaquePtr for ``PCIDeviceTableEntry*'' */
  54.  
  55. /* type defs for plugin interfaces*/
  56. typedef OpaquePtr ConfigReadByteFuncPtr;
  57. typedef OpaquePtr ConfigReadWordFuncPtr;
  58. typedef OpaquePtr ConfigReadLongFuncPtr;
  59. typedef OpaquePtr ConfigWriteByteFuncPtr;
  60. typedef OpaquePtr ConfigWriteWordFuncPtr;
  61. typedef OpaquePtr ConfigWriteLongFuncPtr;
  62. typedef OpaquePtr IOReadByteFuncPtr;
  63. typedef OpaquePtr IOReadWordFuncPtr;
  64. typedef OpaquePtr IOReadLongFuncPtr;
  65. typedef OpaquePtr IOWriteByteFuncPtr;
  66. typedef OpaquePtr IOWriteWordFuncPtr;
  67. typedef OpaquePtr IOWriteLongFuncPtr;
  68. typedef OpaquePtr IntAckReadByteFuncPtr;
  69. typedef OpaquePtr IntAckReadWordFuncPtr;
  70. typedef OpaquePtr IntAckReadLongFuncPtr;
  71. typedef OpaquePtr SpecialCycleWriteLongFuncPtr;
  72. typedef OpaquePtr InitDeviceEntryFuncPtr;
  73. typedef OpaquePtr GetIOBaseFuncPtr;
  74. /* pci domain descriptor definition*/
  75. typedef SOMLargeStruct            PCIControlDescriptor;        /* Derived from a struct of 256 bytes in size */
  76.  
  77. typedef OpaquePtr                PCIControlDescriptorPtr;    /* Substituted OpaquePtr for ``PCIControlDescriptor*'' */
  78.  
  79. /* Prototypes for the PIM*/
  80. /* general purpose pci masks*/
  81. /* pci encoded-int structure constants definition*/
  82. /* pci cycle access type for forwarding*/
  83. #endif
  84.  
  85. #endif /* __SOMIDL__ */
  86.  
  87. #endif /* __PCIPLUGIN_IDL__ */
  88.  
  89.